package hao.bk.royalmap;

import android.content.Context;
import android.util.AttributeSet;
import android.view.KeyEvent;
import android.view.View;
import android.view.View.OnClickListener;
import android.view.inputmethod.EditorInfo;
import android.widget.ImageView;
import android.widget.RelativeLayout;
import android.widget.TextView;
import android.widget.TextView.OnEditorActionListener;

/**
 * Hiển thị thông tin địa chỉ vị trí người dùng
 * 
 */
public class SearchBarLayout extends RelativeLayout implements OnClickListener,
		OnEditorActionListener {
	private RoyalMapActivity main;
	public ExtendedEditText textEdt;
	public ImageView clearBtn;

	/** Hàm khởi tạo mặc định */
	public SearchBarLayout(Context context) {
		super(context);
		initParams(context);
	}

	/** Hàm khởi tạo mặc định */
	public SearchBarLayout(Context context, AttributeSet attrs) {
		super(context, attrs);
		initParams(context);
	}

	private void initParams(Context context) {
		this.main = (RoyalMapActivity) context;
		inflate(main, R.layout.search_bar, this);

		// icon back của header
		textEdt = (ExtendedEditText) findViewById(R.id.search_bar_text_edt);
		//textEdt.setTextSize(ScreenUtils.getValuesSizeItemListView());
		textEdt.setOnEditorActionListener(this);

		// title header
		clearBtn = (ImageView) findViewById(R.id.search_bar_clear_btn);
		clearBtn.setOnClickListener(this);

	}

	@Override
	public void onClick(View v) {
		int id = v.getId();
		switch (id) {
		case R.id.search_bar_clear_btn:
			textEdt.setText("");
			clearBtn.setVisibility(View.INVISIBLE);
			break;
		}
	}

	@Override
	public boolean onEditorAction(TextView textView, int actionId, KeyEvent arg2) {
		if (actionId == EditorInfo.IME_ACTION_SEARCH) {
			main.hiddenKeyboardForView(textEdt);
			return true;
		}
		return false;
	}

	/**
	 * Hiện và ẩn nút xóa ký tự tìm kiếm trên thanh tìm kiếm
	 * 
	 * @param isShow
	 *            : true nếu hiện thị và f
	 */
	public void showClearBtn(boolean isShow) {
		if (isShow) {
			clearBtn.setVisibility(View.VISIBLE);
		} else {
			clearBtn.setVisibility(View.GONE);
		}
	}

	/**
	 * Ẩn bàn phím cho hộp tìm kiếm
	 */
	public void hiddenKeyboard() {
		main.hiddenKeyboardForView(textEdt);
	}

	/**
	 * Lấy thông tin trong thanh tìm kiếm
	 * 
	 * @return
	 */
	public String getText() {
		return textEdt.getText().toString().trim();
	}
	
	/**
	 * xóa thông tin tìm kiếm
	 */
	public void clearText(){
		textEdt.setText("");
	}

	public void setBackgound(int resid) {
		textEdt.setBackgroundDrawable(main.getResources().getDrawable(
				R.drawable.searchmap_save_input_bkg));
	}
}
